package cn.com.bluemoon.daps.model.utils.factory;

import cn.com.bluemoon.daps.model.dto.DapDataModelTableDto;
import cn.com.bluemoon.daps.model.dto.ModelTableInfoDto;
import cn.com.bluemoon.daps.model.dto.SubordinateKeyDto;
import cn.com.bluemoon.daps.model.entity.DapDataModelTable;
import cn.com.bluemoon.daps.model.entity.DapDataModelTablePartition;

import java.util.List;
import java.util.Map;

/**
 * @author karry
 * @Data 2021/9/3
 * @Time:14:13
 */
public interface TableScriptFactory {

    // 创建脚本
    String createTableScript(ModelTableInfoDto modelTableInfoDto, List<SubordinateKeyDto> keys, List<DapDataModelTablePartition> partitions);

    // 修改脚本
    void modifyTableScript(DapDataModelTableDto newDto, DapDataModelTableDto oldDto, String schema, Map<String, String> map);

    // 删除脚本
    void deleteTableScript(String tableName, String schema, Map<String, String> map);


}
